
var objectUtils = {
  /*
    给定一个数据，如果是JSON字符串，返回JSON对象，否则返回原本数据
  */
  getJson (data) {
    if (typeof data != 'string') {
      return data
    }
    
    try {
      jsonData = JSON.parse(data)
      if (typeof jsonData == 'object') {
        return jsonData
      }
    }
    catch (e) {}
    
    return data
  },
  
  /*
    将数据库中的tinyint数据转换为boolean
  */
  tinyToBoolean (val) {
    if (val) {
      return true
    }
    return false
  },
  
  /*
    将boolean转换为数据库中的tinyint
  */
  booleanToTiny (val) {
    if (val) {
      return 1
    }
    return 0
  },
  
  // 将file格式转化为Blob:url的格式
  createObjectUrl (file) {
    return window[window.webkitURL ? 'webkitURL' : 'URL']['createObjectURL'](file);
  },
  
  // 通过JSON实现的对象深度拷贝，只能拷贝对象的属性
  copyObj (obj) {
    return JSON.parse(JSON.stringify(obj))
  },
  
  // 交换数组的两个key值对应的对象
  // ...是ES6里的解构符号，可以去除对象中所有属性
  swapArray (array, aIndex, bIndex) {
    array.splice(bIndex, 1, ...array.splice(aIndex, 1, array[bIndex]));
  },
  
}

export default objectUtils